package com.dts.yjnb.service.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.dts.common.annotation.Excel;
import com.dts.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 产品表 product
 *
 * @author dts
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class Product extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 所属分类ID */
    @Excel(name = "分类ID")
    private Long categoryId;

    /** 分类名称（用于显示） */
    @Excel(name = "产品分类")
    private String categoryName;

    /** 产品名称 */
    @Excel(name = "产品名称")
    private String name;

    /** 产品图片（多张，逗号分隔） */
    @Excel(name = "产品图片")
    private String images;

    /** 商户名称（用于显示，非数据库字段） */
    @Excel(name = "商户名称")
    private String merchantName;

    /** 价格（元） */
    @Excel(name = "价格")
    private BigDecimal price;

    /** 上架状态：1上架 0下架 */
    @Excel(name = "状态", readConverterExp = "1=上架,0=下架")
    private Integer status;

    /** 是否推荐：1是 0否 */
    @Excel(name = "推荐", readConverterExp = "1=是,0=否")
    private Integer isRecommend;

    /** 产品详情（富文本） */
    private String detail;

    /** 浏览量 */
    @Excel(name = "浏览量")
    private Integer viewNum;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    /** 批量操作ID */
    private Long[] ids;

    /** 开始时间（查询条件，非数据库字段） */
    private String beginTime;

    /** 结束时间（查询条件，非数据库字段） */
    private String endTime;
}
